
package requests

import (
	"github.com/goravel/framework/contracts/http"
	"github.com/goravel/framework/contracts/validation"
)

type StoreProductAttrValueRequest struct {

	ProductId string `json:"product_id" form:"product_id"`

	Suk string `json:"suk" form:"suk"`

	Stock string `json:"stock" form:"stock"`

	Sales string `json:"sales" form:"sales"`

	Price string `json:"price" form:"price"`

	Image string `json:"image" form:"image"`

	Unique string `json:"unique" form:"unique"`

	Cost string `json:"cost" form:"cost"`

	BarCode string `json:"bar_code" form:"bar_code"`

	OtPrice string `json:"ot_price" form:"ot_price"`

	VipPrice string `json:"vip_price" form:"vip_price"`

	Weight string `json:"weight" form:"weight"`

	Volume string `json:"volume" form:"volume"`

	Brokerage string `json:"brokerage" form:"brokerage"`

	BrokerageTwo string `json:"brokerage_two" form:"brokerage_two"`

	Type string `json:"type" form:"type"`

	Quota string `json:"quota" form:"quota"`

	QuotaShow string `json:"quota_show" form:"quota_show"`

	IsVirtual string `json:"is_virtual" form:"is_virtual"`

	CouponId string `json:"coupon_id" form:"coupon_id"`

	DiskInfo string `json:"disk_info" form:"disk_info"`

}

func (r *StoreProductAttrValueRequest) Authorize(ctx http.Context) error {
	return nil
}

func (r *StoreProductAttrValueRequest) Rules(ctx http.Context) map[string]string {
	return map[string]string{

		"product_id": "required",

		"suk": "required",

		"stock": "required",

		"sales": "required",

		"price": "required",

		"image": "required",

		"unique": "required",

		"cost": "required",

		"bar_code": "required",

		"ot_price": "required",

		"vip_price": "required",

		"weight": "required",

		"volume": "required",

		"brokerage": "required",

		"brokerage_two": "required",

		"type": "required",

		"quota": "required",

		"quota_show": "required",

		"is_virtual": "required",

		"coupon_id": "required",

		"disk_info": "required",

	}
}

func (r *StoreProductAttrValueRequest) Messages(ctx http.Context) map[string]string {
	return map[string]string{}
}

func (r *StoreProductAttrValueRequest) Attributes(ctx http.Context) map[string]string {
	return map[string]string{}
}

func (r *StoreProductAttrValueRequest) PrepareForValidation(ctx http.Context, data validation.Data) error {
	return nil
}
